import time
from public.action import *
from public.business import *
from public.testData import *
from public.tools import*
testCase="DBshopST003_货到付款流程"
#打开前台网页
firefox=openBrowser(url)
#登录账号
login(firefox,username,password)
#在搜索框输入小米
firefox.find_element_by_xpath('//input[@placeholder="简简单单搜索"]').send_keys('小米')
#点击搜索
firefox.find_element_by_xpath('//input[@class="search-btn iconfont"]').click()
time.sleep(2)
#点击小米手机图片
firefox.find_element_by_xpath('//img[@alt="小米Mix3 全网通版 8GB+128GB 黑色 磁动力滑盖全面屏"]').click()
#跳转到窗口的最后一个页面
firefox.switch_to.window(firefox.window_handles[-1])
time.sleep(2)
#点击加入购物车
firefox.find_element_by_xpath('//button[@id="add_cart_submit"]').click()
#去购物车结算
firefox.find_element_by_link_text('去购物车结算').click()
#点击去结算
firefox.find_element_by_link_text('去结算').click()
#点击下一步
firefox.find_element_by_xpath('//input[@value="下一步"]').click()
#点击货到付款
firefox.find_element_by_xpath('//input[@value="hdfk"]').click()
print('货到付款')
#点击确认订单
firefox.find_element_by_xpath('//input[@value="确认订单"]').click()
#获取订单编号存放在变量中
orderID=firefox.find_element_by_xpath('(//font[@color="color:#ED145B"])[2]').text
print('下单完成')
#关闭前台网页，同时进入后台网页
firefox.quit()
firefox=openBrowser(urlAdmin)
#登录后台
adminlogin(firefox)
#依次点击商品管理，订单管理
adminMenu2(firefox,'销售管理','订单管理')
#输入订单编号
firefox.find_element_by_name("order_sn").send_keys(orderID)
#点击搜索
firefox.find_element_by_xpath('//button').click()
#点击编辑查看
firefox.find_element_by_link_text('编辑查看').click()
#点击发货操作
firefox.find_element_by_link_text('发货操作').click()
#编辑快递单号“1000000000”
firefox.find_element_by_id('express_number').send_keys('1000000000')
#发货说明“保证正品”
firefox.find_element_by_id('state_info').send_keys('保证正品')
#点击发货
firefox.find_element_by_xpath('//button').click()
print('已发货')
#点击付款操作
firefox.find_element_by_link_text('付款操作').click()
#导入select类
from selenium.webdriver.support.select import Select
#找出付款状态的元素定位
s1=Select(firefox.find_element_by_id('pay_state'))
#选择付款款
s1.select_by_visible_text('已付款')
#点击保存提交
firefox.find_element_by_xpath('//button').click()
#退出后台，进入前台
firefox.quit()
firefox=openBrowser(url)
#登录账号
login(firefox,username,password)
#点击我的订单
firefox.find_element_by_link_text('我的订单').click()
#点击已发货
firefox.find_element_by_partial_link_text('已发货').click()
#输入订单号
firefox.find_element_by_xpath('//input[@placeholder="输入订单号"]').send_keys(orderID)
#点击搜索
firefox.find_element_by_xpath('//button[text()="搜索"]').click()
#点击确认收货
firefox.find_element_by_xpath('//button[text()="确认收货"]').click()
#继续点击确认收货
firefox.find_element_by_xpath('//button').click()
#出现JS弹窗，点击确认
firefox.switch_to.alert.accept()
print('确认收货')
#点击交易完成
firefox.find_element_by_partial_link_text('交易完成').click()
#输入订单号
firefox.find_element_by_xpath('//input[@placeholder="输入订单号"]').send_keys(orderID)
#点击搜索
firefox.find_element_by_xpath('//button[text()="搜索"]').click()
#断言，如果界面显示订单完成则货到付款流程完成
try:
    if firefox.find_element_by_xpath('//span[text()="订单完成"]'):
        print('货到付款流程完成')
        writelog('货到付款流程完成')
except:
    print('货到付款流程失败')
    writelog('货到付款流程失败')
firefox.quit()








